package com.ruoyi.cm.domain.vo;

import java.math.BigDecimal;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.util.Date;



/**
 * 中间计量视图对象 cm_period_measurement
 *
 * @author zxs
 * @date 2024-09-28
 */
@Data
@ExcelIgnoreUnannotated
public class CmPeriodMeasurementVo {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @ExcelProperty(value = "主键")
    private Long id;

    /**
     * 期数id
     */
    @ExcelProperty(value = "期数id")
    private Long qsId;

    /**
     * 计量数量
     */
    @ExcelProperty(value = "计量数量")
    private BigDecimal measurementQuantity;

    /**
     * 合价
     */
    @ExcelProperty(value = "合价")
    private BigDecimal totalPrice;

    /**
     * 剩余数量
     */
    @ExcelProperty(value = "剩余数量")
    private BigDecimal remainingQuantity;

    /**
     * 标段id
     */
    @ExcelProperty(value = "标段id")
    private Long bdId;
    /**
     * 站点id
     */
    @NotNull(message = "站点id不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long zdId;
    /**
     * 附件id(逗号拼接)
     */
    @ExcelProperty(value = "附件id(逗号拼接)")
    private String fileNo;

    /**
     * 合同清单id
     */
    @ExcelProperty(value = "合同清单id")
    private Long contractListId;

    /**
     * 期数
     */
    @ExcelProperty(value = "期数")
    private Integer qs;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remark;

    /**
     * 清单类型
     */
    private String sheetTypeName;
    /**
     * 站点名称
     */
    private String zdName;
    /**
     * 实际合同额
     */
    private BigDecimal sjhte;
    /**
     * (累计)计量金额
     */
    private BigDecimal jlje;
    /**
     * 本期计量金额
     */
    private BigDecimal bqjlje;
    /**
     * 清单类型编号
     */
    private String sheetTypeCode;

    /**
     * 清单特征
     */
    private String sheetFeaturesName;
    /**
     * 清单单位
     */
    private String sheetUnit;
    /**
     * 税率
     */
    private BigDecimal sheetTaxRate;

    /**
     * 初始容量
     */
//    @ExcelProperty(value = "初始容量")
    private BigDecimal initRongliang;

    /**
     * 初始单价
     */
//    @ExcelProperty(value = "初始单价")
    private BigDecimal initDanjia;

    //报税总价
    private BigDecimal initZongjia;
    //本期计量金额(每站点当期计量金额合价)
    private BigDecimal benqjlje;
    //累计计量金额(已计量期数的本期计量金额合计)
    private BigDecimal leijjlje;
    //本期支付金额(本期计量金额-扣回开工预付金额+奖罚金)
    private BigDecimal benqzfje;
    //累计支付金额(开工预付款-奖励基金+已计量期数的本期支付金额合计)
    private BigDecimal leijzfje;
    // 变更后总价
    private BigDecimal chgZongjia;
    // 变更后容量
    private BigDecimal chgRongliang;
}
